#include <iostream>
#include "CThreadSem.h"



using namespace std;

CThreadSem::CThreadSem()
{
  CThreadSem(0);
}


CThreadSem::CThreadSem(unsigned int uiVal)
{
	if(sem_init(&m_sem, 0, uiVal) != 0)
  {
    
    cout<<"CThreadSem::sem_init failure!!"<<endl;
  }
  else 
  {
  	cout<<"CThreadSem::sem_init success!"<<endl;
  
  } 
}

CThreadSem::~CThreadSem()
{
   sem_destroy(&m_sem);
}
  
int CThreadSem::SemPost()
{
  return sem_post(&m_sem);
}

int CThreadSem::SemWait()
{
  return sem_wait(&m_sem);
}

int CThreadSem::SemTryWait()
{
  return sem_trywait(&m_sem);
}

int CThreadSem::SemGetValue(int *iVal)
{
	return sem_getvalue(&m_sem, iVal);
}